minios: let events get mixed
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 6 May 2008 15:29:01 +0000 (16:29 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 6 May 2008 15:29:01 +0000 (16:29 +0100)
since events do not need to be counted

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
tools/libxc/xc_minios.c

index 2131ed543e6a330af889779ebabd278dd04d3c67..d5c1b5245caedd7b0c44b12a831c18b5e61b8228 100644 (file)
@@ -178,7 +178,7 @@ static void evtchn_handler(evtchn_port_t port, struct pt_regs *regs, void *data)
        printk("Unknown port for handle %d\n", xce_handle);
        return;
     }
-    files[xce_handle].evtchn.ports[i].pending++;
+    files[xce_handle].evtchn.ports[i].pending = 1;
     files[xce_handle].read = 1;
     wake_up(&event_queue);
 }
@@ -278,7 +278,7 @@ evtchn_port_or_error_t xc_evtchn_pending(int xce_handle)
     for (i = 0; i < MAX_EVTCHN_PORTS; i++) {
        evtchn_port_t port = files[xce_handle].evtchn.ports[i].port;
        if (port != -1 && files[xce_handle].evtchn.ports[i].pending) {
-           files[xce_handle].evtchn.ports[i].pending--;
+           files[xce_handle].evtchn.ports[i].pending = 0;
            local_irq_restore(flags);
            return port;
        }